SunOs bug

G.J.W. Hagenaars (xx247@freenet.carleton.ca)
Tue, 2 Aug 1994 08:29:09 -0400 (EDT)

Found this one on comp.unix.internals. I thought it was appropriate for
this list.

--- begin article ---

>From comp.unix.internals Tue Aug  2 08:25:28 1994
>From: ruppin@bimacs.BITNET (Adi Ruppin)
Newsgroups: comp.unix.internals
Subject: SunOs bug
Keywords: SunOs, bug, TCP/IP, accept
Message-Id: <4859@bimacs.BITNET>
Date: 31 Jul 94 19:11:15 GMT
Organization: Math & CS, BarIlan U, Ramat-Gan, Israel
Lines: 31

Hello all,

I have encountered another serious bug in SunOs 4.1.1 thru 4.1.3U_1
that bothers me a great deal: It seems that when you send data through
sockets by opening them, sending the buffer and then closing them, if
you repeat this process quickly enough, the messages do not get to
their destination in the correct order. This bug does not appear to
exist on Solaris 2.0, OSF or Ultrix. I tried playing with the LINGER
parameter and other parameters but with no luck.

According to my examinations, the bug lies on the server side.  It
seems that if you send messages quickly, SunOs transposes the messages
it queues on the connections linked list 'so_q'.  I tried to make a
patch in the kernel by ubstituting the kernel 'soqinsque()' function
with another, and some change did appeared, but still it wasn't
completely ok.  (the soqinsque() function is called by the sonewconn()
function, and it links a new connection to the so_q linked list).  My
assumption is that Sun continued to develop its kernel independently,
without noticing that system 4.4's developers *did* fix this bug,
judging from the look of their soninsque() routine and the comment over
it that says that their function works "properly"...

I'll be glad to hear from anyone who knows how to fix this bug, or who
can bring this bug to Sun's attention. After all, it's a very basic bug
in their old operating system.

ruppin@bimacs.cs.biu.ac.il

Please reply by email also.


--- end of article ---

G.J.W. Hagenaars                  | postmaster National Capital Freenet
xx247@freenet.carleton.ca         | Remembering Mike Carty 1968-1994
gert-jan@stack.urc.tue.nl         | I'm Dutch, what's _your_ excuse?